package cn.iocoder.yudao.module.vote.service.voteItem;

import java.util.*;
import cn.iocoder.yudao.module.vote.controller.admin.voteItem.vo.*;
import cn.iocoder.yudao.module.vote.dal.dataobject.voteItem.VoteItemDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;

import javax.validation.Valid;

/**
 * 投票行 Service 接口
 *
 * @author 吕小文
 */
public interface VoteItemService {

    /**
     * 创建投票行
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createItem(@Valid VoteItemSaveReqVO createReqVO);

    /**
     * 更新投票行
     *
     * @param updateReqVO 更新信息
     */
    void updateItem(@Valid VoteItemSaveReqVO updateReqVO);

    /**
     * 删除投票行
     *
     * @param id 编号
     */
    void deleteItem(Long id);

    /**
     * 获得投票行
     *
     * @param id 编号
     * @return 投票行
     */
    VoteItemDO getItem(Long id);

    /**
     * 获得投票行分页
     *
     * @param pageReqVO 分页查询
     * @return 投票行分页
     */
    PageResult<VoteItemDO> getItemPage(VoteItemPageReqVO pageReqVO);

}